package com.fau.hm.service;

import java.util.List;

import com.fau.hm.entity.MedicalAdmin;
import com.fau.hm.entity.MedicalCity;
import com.fau.hm.entity.MedicalEnterprise;
import com.fau.hm.entity.MedicalEnterpriseExtension;
import com.fau.hm.entity.MedicalEnterpriseOutside;
import com.fau.hm.entity.MedicalEnterpriseQueue;
import com.fau.hm.entity.MedicalProvince;

/**
 * @desc 企业Service接口
 * @author dangjh
 * @datetime 2014年10月15日,下午6:16:38
 */
public interface IEnterpriseManagerService {

	/**
	 * @desc 根据企业id查询企业信息
	 * @param eid
	 * @return
	 * @author dangjh
	 * @datetime 2014年12月4日 下午6:24:04
	 */
	public MedicalEnterprise findByEid(String eid);
	
	/**
	 * @desc 保存企业信息
	 * @param bean
	 * @return boolean
	 * @author dangjh
	 * @datetime 2014年12月4日 下午6:22:29
	 */
	public boolean save(MedicalEnterprise bean);
	
	/**
	 * @desc 保存编辑的企业信息
	 * @param bean
	 * @return boolean
	 * @author dangjh
	 * @datetime 2014年10月15日,下午6:20:20
	 */
	public boolean saveEdit(MedicalEnterprise bean);
	
	/**
	 * @desc 根据企业名称判断企业是否已经存在
	 * @param name
	 * @return boolean
	 * @author dangjh
	 * @datetime 2014年12月4日 下午8:16:29
	 */
	public boolean includeEnterprise(String name);
	
	/**
	 * @desc 保存注册的企业信息、数据字典信息、管理员信息
	 * @param bean
	 * @return boolean
	 * @author dangjh
	 * @datetime 2014年12月6日 下午4:38:22
	 */
	public boolean saveRegister(MedicalEnterprise bean);
	
	/**
	 * @desc 查询所有省份
	 * @return List<MedicalProvince>
	 * @author dangjh
	 * @datetime 2014年12月14日 下午6:32:36
	 */
	public List<MedicalProvince> findProvince();
	
	/**
	 * @desc 根据省份id查询所有城市
	 * @param cityId
	 * @return List<MedicalCity>
	 * @author dangjh
	 * @datetime 2014年12月14日 下午6:33:40
	 */
	public List<MedicalCity> findCitysByProId(String provinceId);
	
	/**
	 * @desc 保存企业外线号码
	 * @param outSide
	 * @return boolean
	 * @author dangjh
	 * @datetime 2014年12月14日 下午8:59:05
	 */
	public boolean saveOutSideNum(MedicalEnterpriseOutside outSide);
	
	/**
	 * @desc 查询外线号码
	 * @param admin 当前用户
	 * @return
	 * @author kangyj
	 * @datetime 2015年2月5日,上午10:31:41
	 */
	public List<MedicalEnterpriseOutside> findOutsideAll(MedicalAdmin admin);
	
	/**
	 * @desc 查询企业所在队列
	 * @param admin
	 * @return
	 * @author kangyj
	 * @datetime 2015年2月5日,上午11:20:20
	 */
	public List<MedicalEnterpriseQueue> findQueueList(MedicalAdmin admin);
	
	/**
	 * @desc 查询企业分机
	 * @param eid 企业id
	 * @return
	 * @author kangyj
	 * @datetime 2015年1月27日,下午4:26:25
	 */
	public List<MedicalEnterpriseExtension> findExtensionList(String eid);
	
	/**
	 * @desc 绑定外线号码
	 * @param outsideIds
	 * @param eid
	 * @author kangyj
	 * @datetime 2015年2月5日,上午11:57:01
	 */
	public void bindOutside(String outsideIds, String eid);
	
	/**
	 * @desc 绑定队列
	 * @param queueIds
	 * @param eid
	 * @author kangyj
	 * @datetime 2015年2月5日,上午11:56:49
	 */
	public void bindQueue(String queueIds, String eid);
	
	/**
	 * @desc 绑定分机
	 * @param extensionIds 分机号Ids
	 * @param eid 企业id
	 * @author kangyj
	 * @datetime 2015年1月27日,下午7:20:46
	 */
	public void bindExtension(String extensionIds, String eid);
}
